import Foundation
import ServiceStack
public class ProcessDocumentRequestMessage : Codable
{
public var instanceId:String
public var documentRequest:DocumentRequestMessage
required public init(){}
}
public class DocumentRequestMessage : Codable
{
public var header:Header
public var rootDocumentID:String
public var includePhysicalFile:Bool
required public init(){}
}
public class Header : Codable
{
public var messageID:String
public var timestamp:Date
public var sender:Party
public var recipient:Party
//requestMessageID:Object ignored. Type could not be extended in Swift
required public init(){}
}
public class Party : Codable
{
public var title:String
public var code:String
public var version:String
public var environment:Environment
required public init(){}
}
public class Environment : Codable
{
public var title:String
public var code:String
required public init(){}
}
public class DocumentMessage : Codable
{
public var header:Header
public var eventType:eventType
public var document:Document
required public init(){}
}
public enum eventType : String, Codable
{
case Update
case Create
case Delete
case Response
}
public class Document : ICustomProperties, Codable
{
public var id:String
public var rootDocumentID:String
public var registrationprofileID:String
public var title:String
public var fullTitle:String
public var number:String
public var version:String
public var externalNumber:String
public var externalVersion:String
public var internalNumber:String
public var internalInvoiceNumber:String
public var personID:Int
public var relationID:Int
public var relationTitle:String
public var projectID:Int
public var projectTitle:String
public var `extension`:String
public var date:Date?
public var commentsCount:Int
public var hasComments:Bool
public var hasPreview:Bool
public var extraField:String
public var isFavorite:Bool
public var documentcategoryText:String
public var fileSize:Int?
public var fileDate:Date?
public var hash:String
public var hashType:String
public var fileUrl:String
public var standardDocumentUrl:String
public var isCorporateIdentity:Bool
public var userTitle:String
public var isFrozen:Bool
public var internalCompanyID:Int
public var directUrl:String
public var allowDigitalSigningOnlyOnPrimaryVersions:Bool
public var isPrimaryVersion:Bool
public var fileExtension:String
public var customProperties:[String:Object] = [:]
required public init(){}
}
Swift ProcessDocumentRequestMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /json/reply/ProcessDocumentRequestMessage HTTP/1.1
Host: kpm_digiofficeapigateway.tbi.nl
Accept: application/json
Content-Type: application/json
Content-Length: length
{"InstanceId":"00000000-0000-0000-0000-000000000000","DocumentRequest":{"Header":{"MessageID":"String","Timestamp":"0001-01-01T00:00:00.0000000","Sender":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"Recipient":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"RequestMessageID":{}},"RootDocumentID":"String","IncludePhysicalFile":false}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"Header":{"MessageID":"String","Timestamp":"0001-01-01T00:00:00.0000000","Sender":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"Recipient":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"RequestMessageID":{}},"EventType":"Update","Document":{"GlobalID":"String","RootDocumentID":"String","Code":"String","Subject":"String","VersionNumber":"String","NewestVersion":false,"RelationReference":{"GlobalID":"String","Title":"String"},"DocumentTypeReference":{"GlobalID":"String","Title":"String"},"ProjectReference":{"GlobalID":"String","Title":"String"},"ConstructionBlockReference":{"GlobalID":"String","Title":"String"},"ConstructionNumberReference":{"GlobalID":"String","Title":"String"},"HousingTypeReference":{"GlobalID":"String","Title":"String"},"Floor":0,"FloorSpecified":false,"DeletedDate":"0001-01-01T00:00:00.0000000","DeletedDateSpecified":false,"File":{"Type":"String","Name":"String","Size":0,"Content":"String","ModifiedDate":"0001-01-01T00:00:00.0000000"},"CustomFields":[{"Name":"String","Value":"String"}],"CreationDate":"0001-01-01T00:00:00.0000000","CreatedBy":"String","ModifiedDate":"0001-01-01T00:00:00.0000000","ModifiedBy":"String"}}